package top.jiangqiang.qianyi.common.storage.base;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.hutool.crypto.SecureUtil;

@Data
public abstract class BaseStorageConfig {
    /**
     * 存储器名，多个配置不可重复
     */
    @Schema(description = "存储器名，多个配置不可重复")
    private String name;

    /**
     * @return 获取当前对象的摘要值
     */
    public String id() {
        return SecureUtil.sha256(uniqueStr());
    }

    /**
     * @return 表示当前对象唯一的key
     */
    public abstract String uniqueStr();

}
